using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace Programonica.Igramonica.LandscapeClasses
{
    public struct LandscapeVertex
    {
        public Vector3 Position;

        public Vector3 Normal;

        public Vector3 Geomorphing;

        public Vector2 TextureCoordinate;

        public Vector4 TexWeights;

        public static int SizeInBytes = (3 + 3 + 3 + 2 + 4) * 4;

        public static VertexElement[] VertexElements = new VertexElement[]
        {
            new VertexElement( 0, 0, VertexElementFormat.Vector3, VertexElementMethod.Default, VertexElementUsage.Position, 0 ),
            new VertexElement( 0, sizeof(float) * 3, VertexElementFormat.Vector3, VertexElementMethod.Default, VertexElementUsage.Normal, 0 ),
            new VertexElement( 0, sizeof(float) * 6, VertexElementFormat.Vector3, VertexElementMethod.Default, VertexElementUsage.TextureCoordinate, 0 ),
            new VertexElement( 0, sizeof(float) * 9, VertexElementFormat.Vector2, VertexElementMethod.Default, VertexElementUsage.TextureCoordinate, 1 ),
            new VertexElement( 0, sizeof(float) * 11, VertexElementFormat.Vector4, VertexElementMethod.Default, VertexElementUsage.TextureCoordinate, 2 )
        };
    }
}
